﻿using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using Distrackting.DataLayer;
using Distrackting.BusinessLayer;

namespace Distrackting.PresentationLayer
{
    public partial class Split : System.Web.UI.MasterPage
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }


        //NAO PARECE ESTAR A FUNCIONAR - WTF?
        protected String getEmail()
        {

            try
            {
                Guid user_guid = new Guid(Session["user_guid"].ToString());
                return GerirUtilizadores.getUtilizador(user_guid).email;
            }
            catch (Exception)
            {
                Mensagens.AdicionarErro("Não foi possível encontrar o endereço de email.");
                return "";
            }
        }

        protected void Login1_LoggedIn(object sender, EventArgs e)
        {
            Login loginControl = (Login)sender;
            Utilizador u = GerirUtilizadores.getUtilizador(loginControl.UserName);
            u.data_ultimo_login = System.DateTime.Now;
            GerirUtilizadores.changeUtilizador(u);
            Session["user_guid"] = u.cod_utilizador;
            Session["user_level"] = u.Nivel_utilizador.nivel;
            Response.Redirect(ResolveUrl("Public.aspx"));
        }

        public static String contarFotos()
        {
            try
            {
                return GerirEstatisticas.contarFotos().ToString();
            }
            catch (Exception e)
            {
                Mensagens.AdicionarErro(e.Message);
                return "";
            }

        }

        public static String contarPercursos()
        {
            try
            {
                return GerirEstatisticas.contarPercursos().ToString();
            }
            catch (Exception e)
            {
                Mensagens.AdicionarErro(e.Message);
                return "";
            }
        }

        public static String contarTestemunhos()
        {
            try
            {
                return GerirEstatisticas.contarTestemunhos().ToString();
            }
            catch (Exception e)
            {
                Mensagens.AdicionarErro(e.Message);
                return "";
            }
        }

        public static String contarUtilizadores()
        {
            try
            {
                return GerirEstatisticas.contarUtilizadores().ToString();
            }
            catch (Exception e)
            {
                Mensagens.AdicionarErro(e.Message);
                return "";
            }
        }

        protected void LoginStatus1_LoggingOut(object sender, LoginCancelEventArgs e)
        {
            Session.Abandon();
        }
    }
}
